package Demo;

import java.util.Arrays;
/*
    数组工具类：Arrays
    常用方法：1.Arrays.equals(数组1,数组2); 比较2个数组是否相等
    2.Arrays.toString(数组); 打印数组存储元素
    3.Arrays。sort(数组); 数组排序
    4.Arrays.binarySearch(数组,元素); 二分法查找
    5.System.arraycopy(拷贝源   拷贝源下标    目标数组   目标下标    拷贝长度 ); 数组扩容
    6.Arrays.fill(数组，元素); 用该元素填充满数组
 */
public class Demo06 {
    public static void main(String[] args) {
        // 常用工具类

        int[] arr1 = {10,20,30,40,50};
        int[] arr2 = {10,20,30,40,50};

        //一、比较两个数组是否相等 Arrays.equals 返回布尔类型
        boolean bo = Arrays.equals(arr1, arr2);

        if(bo)
            System.out.println("相等");
        else
            System.out.println("不相等");

        //二、遍历数组 Arrays.toString()

        System.out.println(Arrays.toString(arr1));

        //三、给数组填充值   Arrays.fill(); 改变数组中所有元素
        Arrays.fill(arr2, 100);
        System.out.println(Arrays.toString(arr2));

        //四、数组排序 Arrays.sort()
        int[] arr3 = {56,35,29,12,8};

        Arrays.sort(arr3);
        System.out.println(Arrays.toString(arr3));

        //五、二分查找法   Arrays.binarySearch(数组名，查找数据)  可以用来判断数组中是否包含某元素，因为没查到返回-1
        //返回int类型  是索引 正数代表有该数，负数代表没有该数。
        int num = Arrays.binarySearch(arr3, 56);
        if(num > 0)
            System.out.println("有，索引为：" + num);
        else
            System.out.println("没有该数");

        //六、数组扩容 ：建一个长度更长的数组把原来的数组元素拷贝
        //快捷键：System.arraycopy(拷贝源   拷贝源下标    目标数组   目标下标    拷贝长度 )
        //拷贝源
        int[] src = {1,11,22,3,4};
        //目标数组
        int[] dest = new int[10];
        //扩容
        System.arraycopy(src, 1, dest, 2, 3);
        System.out.println(Arrays.toString(dest));


    }
}
